package com.assets.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * @作者(author): WR
 * @创建时间(date): 2020/9/27
 */
public class FileUtil {
    /**
     *
     * @param in 输出类
     * @param path 文件夹路径
     * @param fileName 文件名称
     */
    public static void loadFile(InputStream in, File path, String fileName, request request) {
        try {
            if (!path.exists()) {
                if (!path.mkdirs()){
                    return;
                }
            }
            final File file = new File(path, fileName);//保存本地的文件名，如cs.pdf
            //file.createNewFile();
            FileOutputStream output = new FileOutputStream(file);
            int len = 0;
            byte[] buffer = new byte[1024];
            while ((len = in.read(buffer)) != -1) {
                output.write(buffer, 0, len);  //将从in流中读取到的数据写入文件
            }
            //1.从流baibuffer中读取一个字节
            //2.当流结束的时候bairead返回-1
            //3.即流读完的时候，停止读取，结束循环
            output.flush();
            output.close();
                request.success(file);
        } catch (IOException e) {
            request.onFailure();
            e.printStackTrace();
        }
    }
    public interface request{
        void success(File file);
        void onFailure();
    }
}
